<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>168Object的常用静态方法</title>
</head>

<body>
  <h1>168Object的常用静态方法</h1>
  <script>
    let obj = {
      name: 'lqj',
      age: 18,
      getTel() {
        return 123456
      },
      hobby: {
        a: 1
      }
    }
    // 1 Object.keys() 返回一个由给定对象自身的可枚举的字符串键属性名组成的数组。
    console.log(Object.keys(obj))

    // 2 Object.value() 返回一个给定对象的自有可枚举字符串键属性值组成的数组。
    console.log(Object.values(obj))

    // 3 Object.assign(target, sources) 将一个或者多个源对象中所有可枚举的自有属性复制到目标对象，并返回修改后的目标对象。
    let o = {}
    console.log(Object.assign(o, obj))
    console.log(o === obj)
    console.log(o.hobby === obj.hobby) // 证明assign是浅拷贝
  </script>
</body>

</html>